package com.sansan.qiangji.mapper.warehouse;

import com.sansan.qiangji.VO.board.CountPushBoxVO;
import com.sansan.qiangji.entity.warehouse.PushOrderBoxDetail;
import com.sansan.qiangji.entity.warehouse.example.PushOrderBoxDetailExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author tools.49db.cn
 * @version 1.0
 * @date 2020-11-05
 */
public interface PushOrderBoxDetailMapper {
    List<PushOrderBoxDetail> findByBoxDetailStatusAndBoxCode(@Param("boxDetailStatus") String boxDetailStatus, @Param("boxCode") String boxCode);

    List<PushOrderBoxDetail> findByBoxCode(@Param("boxCode") String boxCode);

    List<PushOrderBoxDetail> findByBoxDetailCode(@Param("boxDetailCode") String boxDetailCode);

    List<PushOrderBoxDetail> findByDetailCodeAndStatus(@Param("pushOrderDetailCode") String pushOrderDetailCode, @Param("boxDetailStatus") String boxDetailStatus);

    long countByExample(PushOrderBoxDetailExample example);

    int deleteByExample(PushOrderBoxDetailExample example);

    int deleteByPrimaryKey(Integer boxDetailId);

    int insert(PushOrderBoxDetail record);

    int insertSelective(PushOrderBoxDetail record);

    List<PushOrderBoxDetail> selectByExample(PushOrderBoxDetailExample example);

    PushOrderBoxDetail selectByPrimaryKey(Integer boxDetailId);

    int updateByExampleSelective(@Param("record") PushOrderBoxDetail record, @Param("example") PushOrderBoxDetailExample example);

    int updateByExample(@Param("record") PushOrderBoxDetail record, @Param("example") PushOrderBoxDetailExample example);

    int updateByPrimaryKeySelective(PushOrderBoxDetail record);

    int updateByPrimaryKey(PushOrderBoxDetail record);


    List<CountPushBoxVO> countPushBox();
}
